{  Statement: http://acmp.ru/?main=task&id_task=148
   Verdict: Accepted
}
uses
    SysUtils, Math;

var
    a,b:int64;

procedure swap(var a,b:int64);

var
    t:int64;

begin
t := a;
a := b;
b := t;
end;

function gcd(a,b:int64):int64;
begin
if a<b then swap(a, b);
while b > 0 do begin
    a := a mod b;
    swap(a, b);
end;
result := a;
end;

begin
reset(input,'input.txt');
rewrite(output,'output.txt');
read(a,b);
write(gcd(a,b));
end.